<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Osmap: /home/alejandro/Development/osmap/include/Osmap.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Osmap
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">Osmap documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,'Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_osmap_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Osmap.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_osmap_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifndef OSMAP_H_</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define OSMAP_H_</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">//#include &lt;string&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;bitset&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;iterator&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;osmap.pb.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;opencv2/core/core.hpp&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#ifdef OSMAP_DUMMY_MAP</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// Don&#39;t include when porting osmap to os1 and orb-slam2</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;Dummymap.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// Only for use with OrbSlam2</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;KeyFrame.h&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;Map.h&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;MapPoint.h&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;System.h&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;Frame.h&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &quot;System.h&quot;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;Tracking.h&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="namespace_o_r_b___s_l_a_m2.html">   51</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a>{</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">Osmap</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html">   58</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html">OsmapMapPoint</a>: <span class="keyword">public</span> MapPoint{</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html#a470c4591b260ceb4969f62b7fb06e047">   60</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">Osmap</a>;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html#a025ba6183bae4f36ba3592889d5e7455">OsmapMapPoint</a>(<a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">Osmap</a>*);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;};</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">   68</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">OsmapKeyFrame</a>: <span class="keyword">public</span> KeyFrame{</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html#a470c4591b260ceb4969f62b7fb06e047">   70</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">Osmap</a>;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">OsmapKeyFrame</a>(<a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">Osmap</a>*);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;};</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap_map.html">   79</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_map.html">OsmapMap</a>: <span class="keyword">public</span> Map{</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap_map.html#a470c4591b260ceb4969f62b7fb06e047">   81</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">Osmap</a>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#ifndef FEATURES_MESSAGE_LIMIT</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="_osmap_8h.html#a6fa32a12b36ce9efd1599107f175e685">   92</a></span>&#160;<span class="preprocessor">#define FEATURES_MESSAGE_LIMIT 1000000</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacecv.html">cv</a>;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">  168</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html">Osmap</a>{</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="comment">// Properties</span></div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14">  189</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14">Options</a> {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;      <span class="comment">// Delimited to overcome a Protocol Buffers limitation.  It is automatic, but can be forced with this options:</span></div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a792bd0166760f264fbc5e712ca761304">  191</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a792bd0166760f264fbc5e712ca761304">FEATURES_FILE_DELIMITED</a>,  </div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aad2b1cf5a240398f9693b13a9c89d897">  192</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aad2b1cf5a240398f9693b13a9c89d897">FEATURES_FILE_NOT_DELIMITED</a>,  </div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <span class="comment">// Skip files, for analisys propuses</span></div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a63f91ef2f48c989bbf17dc1c77b6f4cb">  195</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a63f91ef2f48c989bbf17dc1c77b6f4cb">NO_MAPPOINTS_FILE</a>,    </div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a1e1ea3481969f2bb342d92e6e5bacfd9">  196</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a1e1ea3481969f2bb342d92e6e5bacfd9">NO_KEYFRAMES_FILE</a>,    </div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aa12ececbcc11af24abb2ce64eb1b9e11">  197</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aa12ececbcc11af24abb2ce64eb1b9e11">NO_FEATURES_FILE</a>,     </div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <span class="comment">// Shrink file</span></div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a22c87295de75c5b37640e448d49cd310">  200</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a22c87295de75c5b37640e448d49cd310">NO_FEATURES_DESCRIPTORS</a>,  </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a71f88906a07e590c7afff343772d5216">  201</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a71f88906a07e590c7afff343772d5216">ONLY_MAPPOINTS_FEATURES</a>,  </div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <span class="comment">// Options</span></div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a435cddba27465be7ce27a63bba406418">  204</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a435cddba27465be7ce27a63bba406418">NO_LOOPS</a>,         </div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a738c75f214fad836ffad2865e70b52af">  205</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a738c75f214fad836ffad2865e70b52af">K_IN_KEYFRAME</a>,    </div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;      <span class="comment">// Depuration and rebuild options</span></div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a8999f0e05e6d9d6abaadbfbec63d0655">  208</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a8999f0e05e6d9d6abaadbfbec63d0655">NO_DEPURATION</a>,    </div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aab9ddda14f4139f2da437830586c3fd9">  209</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aab9ddda14f4139f2da437830586c3fd9">NO_SET_BAD</a>,       </div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a1f9502ef0ac4f2a262736f6ee5ce61db">  210</a></span>&#160;      <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a1f9502ef0ac4f2a262736f6ee5ce61db">NO_APPEND_FOUND_MAPPOINTS</a>,    </div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14ad1ba80ebae75fcc0d8e017113cd2069d">  212</a></span>&#160;      OPTIONS_SIZE  <span class="comment">// /*!&lt; Number of options.  Not an option. */</span></div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  };</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a928cfe547ef3b6412c2187b0fe6158fd">  218</a></span>&#160;  bitset&lt;32&gt; options = 0;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#af20d340d42dbbf52a27f402eaea94159">  221</a></span>&#160;  <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_map.html">OsmapMap</a> &amp;<a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#af20d340d42dbbf52a27f402eaea94159">map</a>;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a98e3356161b97db5aa4b853e2f44db60">  224</a></span>&#160;  KeyFrameDatabase &amp;<a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a98e3356161b97db5aa4b853e2f44db60">keyFrameDatabase</a>;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ade81b1dd7b95ce892811cd6e51d0a4ca">  227</a></span>&#160;  System &amp;<a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ade81b1dd7b95ce892811cd6e51d0a4ca">system</a>;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a99801213d8fe491882fce5fd7f5d5de1">  230</a></span>&#160;  Frame &amp;<a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a99801213d8fe491882fce5fd7f5d5de1">currentFrame</a>;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#addf599a8a94d9ab35dd91d7f99506e5a">  241</a></span>&#160;  KeyFrame *pRefKF = NULL;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a5331f247d8b7c5ed9c8d635c2856c182">  248</a></span>&#160;  vector&lt;Mat const *&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a5331f247d8b7c5ed9c8d635c2856c182">vectorK</a>;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a75565bbc988cbe7d425b0fb48ae747b4">  255</a></span>&#160;  vector&lt;unsigned int&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a75565bbc988cbe7d425b0fb48ae747b4">keyframeid2vectorkIdx</a>;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a39c934d185750067f4eeb87bbe494bbb">  263</a></span>&#160;  vector&lt;OsmapMapPoint*&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a39c934d185750067f4eeb87bbe494bbb">vectorMapPoints</a>;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a63f25a3baf53d9a37db367363f0781f5">  269</a></span>&#160;  vector&lt;OsmapKeyFrame*&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a63f25a3baf53d9a37db367363f0781f5">vectorKeyFrames</a>;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a80aaa92fd4421ba2e557e3ebae258941">  275</a></span>&#160;  <span class="keywordtype">bool</span> verbose = <span class="keyword">false</span>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html#a470c4591b260ceb4969f62b7fb06e047">Osmap</a>(System &amp;_system);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="keywordtype">void</span> mapSave(<span class="keywordtype">string</span> basefilename, <span class="keywordtype">bool</span> pauseThreads = <span class="keyword">true</span>);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  <span class="keywordtype">void</span> mapLoad(<span class="keywordtype">string</span> yamlFilename, <span class="keywordtype">bool</span> noSetBad = <span class="keyword">false</span>, <span class="keywordtype">bool</span> pauseThreads = <span class="keyword">true</span>);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  <span class="keywordtype">int</span> MapPointsSave(<span class="keywordtype">string</span> filename);</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <span class="keywordtype">int</span> MapPointsLoad(<span class="keywordtype">string</span> filename);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  <span class="keywordtype">int</span> KeyFramesSave(<span class="keywordtype">string</span> filename);</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <span class="keywordtype">int</span> KeyFramesLoad(<span class="keywordtype">string</span> filename);</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  <span class="keywordtype">int</span> featuresSave(<span class="keywordtype">string</span> filename);</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  <span class="keywordtype">int</span> featuresLoad(<span class="keywordtype">string</span> filename);</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;  <span class="keywordtype">void</span> getMapPointsFromMap();</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;  <span class="keywordtype">void</span> setMapPointsToMap();</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;  <span class="keywordtype">void</span> getKeyFramesFromMap();</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;  <span class="keywordtype">void</span> setKeyFramesToMap();</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;  <span class="keywordtype">void</span> depurate();</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;  <span class="keywordtype">void</span> rebuild(<span class="keywordtype">bool</span> noSetBad = <span class="keyword">false</span>);</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  <span class="keywordtype">void</span> clearVectors();</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;  <span class="keywordtype">void</span> parsePath(<span class="keyword">const</span> <span class="keywordtype">string</span> &amp;path, <span class="keywordtype">string</span> *filename = NULL, <span class="keywordtype">string</span> *pathDirectory = NULL);</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;  <span class="keywordtype">void</span> getVectorKFromKeyframes();</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  MapPoint *getMapPoint(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;  <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">OsmapKeyFrame</a> *getKeyFrame(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;  <span class="keywordtype">int</span> countFeatures();</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;  <span class="comment">// Protocol buffer messages serialization for orb-slam2 objects</span></div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;  <span class="comment">// K matrix ====================================================================================================</span></div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> Mat &amp;k, SerializedK *serializedK);</div><div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;  <span class="keywordtype">void</span> deserialize(<span class="keyword">const</span> SerializedK&amp;, Mat&amp; k);</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> vector&lt;Mat*&gt; &amp;vK, SerializedKArray &amp;serializedKArray);</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div><div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;  <span class="keywordtype">void</span> deserialize(<span class="keyword">const</span> SerializedKArray &amp;serializedKArray, vector&lt;Mat*&gt; &amp;vK);</div><div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;</div><div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;  <span class="comment">// Descriptor ====================================================================================================</span></div><div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;</div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> Mat&amp;, SerializedDescriptor*);</div><div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;</div><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;  <span class="keywordtype">void</span> deserialize(<span class="keyword">const</span> SerializedDescriptor&amp;, Mat&amp;);</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;  <span class="comment">// Pose matrix ====================================================================================================</span></div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> Mat&amp;, SerializedPose*);</div><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;  <span class="keywordtype">void</span> deserialize(<span class="keyword">const</span> SerializedPose&amp;, Mat&amp;);</div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;  <span class="comment">// Position vector ====================================================================================================</span></div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> Mat&amp;, SerializedPosition*);</div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;  <span class="keywordtype">void</span> deserialize(<span class="keyword">const</span> SerializedPosition&amp;, Mat&amp;);</div><div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;  <span class="comment">// KeyPoint ====================================================================================================</span></div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="comment"></span>  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> KeyPoint&amp;, SerializedKeypoint*);</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;  <span class="keywordtype">void</span> deserialize(<span class="keyword">const</span> SerializedKeypoint&amp;, KeyPoint&amp;);</div><div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;</div><div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;</div><div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;  <span class="comment">// MapPoint ====================================================================================================</span></div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html">OsmapMapPoint</a>&amp;, SerializedMappoint*);</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;  <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html">OsmapMapPoint</a> *deserialize(<span class="keyword">const</span> SerializedMappoint&amp; serializedMappoint);</div><div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;  <span class="keywordtype">int</span> serialize(<span class="keyword">const</span> vector&lt;OsmapMapPoint*&gt;&amp;, SerializedMappointArray &amp;);</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;  <span class="keywordtype">int</span> deserialize(<span class="keyword">const</span> SerializedMappointArray &amp;, vector&lt;OsmapMapPoint*&gt;&amp;);</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;  <span class="comment">// KeyFrame ====================================================================================================</span></div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">OsmapKeyFrame</a>&amp;, SerializedKeyframe*);</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;  <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">OsmapKeyFrame</a> *deserialize(<span class="keyword">const</span> SerializedKeyframe&amp;);</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;  <span class="keywordtype">int</span> serialize(<span class="keyword">const</span> vector&lt;OsmapKeyFrame*&gt;&amp;, SerializedKeyframeArray&amp;);</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;  <span class="keywordtype">int</span> deserialize(<span class="keyword">const</span> SerializedKeyframeArray&amp;, vector&lt;OsmapKeyFrame*&gt;&amp;);</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;  <span class="comment">// Feature ====================================================================================================</span></div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;  <span class="keywordtype">void</span> serialize(<span class="keyword">const</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">OsmapKeyFrame</a>&amp;, SerializedKeyframeFeatures*);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;  <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">OsmapKeyFrame</a> *deserialize(<span class="keyword">const</span> SerializedKeyframeFeatures&amp;);</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;  <span class="keywordtype">int</span> serialize(<span class="keyword">const</span> vector&lt;OsmapKeyFrame*&gt;&amp; vKF, SerializedKeyframeFeaturesArray&amp; serializedKeyframeFeaturesArray);</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;  <span class="keywordtype">int</span> deserialize(<span class="keyword">const</span> SerializedKeyframeFeaturesArray&amp;);</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;  <span class="keywordtype">bool</span> writeDelimitedTo(</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <span class="keyword">const</span> google::protobuf::MessageLite&amp; message,</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    google::protobuf::io::ZeroCopyOutputStream* rawOutput</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;  );</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;  <span class="keywordtype">bool</span> readDelimitedFrom(</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    google::protobuf::io::ZeroCopyInputStream* rawInput,</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    google::protobuf::MessageLite* message</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;  );</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;  <span class="comment">// Modified LOG function from https://stackoverflow.com/questions/29326460/how-to-make-a-variadic-macro-for-stdcout</span></div><div class="line"><a name="l00739"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a0a1657f9a2da3a76f6fc1a3d08f6c8e8">  739</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a0a1657f9a2da3a76f6fc1a3d08f6c8e8">log</a>() {cout &lt;&lt; endl;}</div><div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a667008047a8f3f35fa8e1ccb41e9f66f">  740</a></span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Head, <span class="keyword">typename</span>... Args&gt; <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a667008047a8f3f35fa8e1ccb41e9f66f">log</a>(<span class="keyword">const</span> Head&amp; head, <span class="keyword">const</span> Args&amp;... args ){</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    <span class="keywordflow">if</span>(verbose){</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        std::cout &lt;&lt; head &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;        log(args...);</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    }</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;  }</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;};</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;}   <span class="comment">// namespace ORB_SLAM2</span></div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* OSMAP_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_map_html"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap_map.html">ORB_SLAM2::OsmapMap</a></div><div class="ttdoc">Wrapped Map to let Osmap access protected properties without modifying Map code. </div><div class="ttdef"><b>Definition:</b> Osmap.h:79</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a75565bbc988cbe7d425b0fb48ae747b4"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a75565bbc988cbe7d425b0fb48ae747b4">ORB_SLAM2::Osmap::keyframeid2vectorkIdx</a></div><div class="ttdeci">vector&lt; unsigned int &gt; keyframeid2vectorkIdx</div><div class="ttdoc">For each index KeyFrame.mnId the value returned is an index to vectorK. </div><div class="ttdef"><b>Definition:</b> Osmap.h:255</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a792bd0166760f264fbc5e712ca761304"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a792bd0166760f264fbc5e712ca761304">ORB_SLAM2::Osmap::FEATURES_FILE_DELIMITED</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:191</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a98e3356161b97db5aa4b853e2f44db60"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a98e3356161b97db5aa4b853e2f44db60">ORB_SLAM2::Osmap::keyFrameDatabase</a></div><div class="ttdeci">KeyFrameDatabase &amp; keyFrameDatabase</div><div class="ttdoc">Database of keyframes to be build after loading. </div><div class="ttdef"><b>Definition:</b> Osmap.h:224</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a39c934d185750067f4eeb87bbe494bbb"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a39c934d185750067f4eeb87bbe494bbb">ORB_SLAM2::Osmap::vectorMapPoints</a></div><div class="ttdeci">vector&lt; OsmapMapPoint * &gt; vectorMapPoints</div><div class="ttdoc">Buffer where map&amp;#39;s mappoints are stored in ascending id order, to save them to file in this order...</div><div class="ttdef"><b>Definition:</b> Osmap.h:263</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame_html"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap_key_frame.html">ORB_SLAM2::OsmapKeyFrame</a></div><div class="ttdoc">Wrapped KeyFrame to let Osmap access protected properties without modifying KeyFrame code...</div><div class="ttdef"><b>Definition:</b> Osmap.h:68</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_af20d340d42dbbf52a27f402eaea94159"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#af20d340d42dbbf52a27f402eaea94159">ORB_SLAM2::Osmap::map</a></div><div class="ttdeci">OsmapMap &amp; map</div><div class="ttdoc">ORB-SLAM2 map to be serialized. </div><div class="ttdef"><b>Definition:</b> Osmap.h:221</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_map_point_html"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html">ORB_SLAM2::OsmapMapPoint</a></div><div class="ttdoc">Wrapped MapPoint to let Osmap access protected properties without modifying MapPoint code...</div><div class="ttdef"><b>Definition:</b> Osmap.h:58</div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html">ORB_SLAM2::Osmap</a></div><div class="ttdoc">This is a class for a singleton attached to ORB-SLAM2&amp;#39;s map. </div><div class="ttdef"><b>Definition:</b> Osmap.h:168</div></div>
<div class="ttc" id="namespacecv_html"><div class="ttname"><a href="namespacecv.html">cv</a></div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14aad2b1cf5a240398f9693b13a9c89d897"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aad2b1cf5a240398f9693b13a9c89d897">ORB_SLAM2::Osmap::FEATURES_FILE_NOT_DELIMITED</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:192</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a5331f247d8b7c5ed9c8d635c2856c182"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a5331f247d8b7c5ed9c8d635c2856c182">ORB_SLAM2::Osmap::vectorK</a></div><div class="ttdeci">vector&lt; Mat const * &gt; vectorK</div><div class="ttdoc">Usually there is only one common matrix K for all KeyFrames in the entire map, there can be more...</div><div class="ttdef"><b>Definition:</b> Osmap.h:248</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a667008047a8f3f35fa8e1ccb41e9f66f"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a667008047a8f3f35fa8e1ccb41e9f66f">ORB_SLAM2::Osmap::log</a></div><div class="ttdeci">void log(const Head &amp;head, const Args &amp;... args)</div><div class="ttdef"><b>Definition:</b> Osmap.h:740</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a8999f0e05e6d9d6abaadbfbec63d0655"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a8999f0e05e6d9d6abaadbfbec63d0655">ORB_SLAM2::Osmap::NO_DEPURATION</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:208</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a1e1ea3481969f2bb342d92e6e5bacfd9"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a1e1ea3481969f2bb342d92e6e5bacfd9">ORB_SLAM2::Osmap::NO_KEYFRAMES_FILE</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:196</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14aab9ddda14f4139f2da437830586c3fd9"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aab9ddda14f4139f2da437830586c3fd9">ORB_SLAM2::Osmap::NO_SET_BAD</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:209</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a738c75f214fad836ffad2865e70b52af"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a738c75f214fad836ffad2865e70b52af">ORB_SLAM2::Osmap::K_IN_KEYFRAME</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:205</div></div>
<div class="ttc" id="namespace_o_r_b___s_l_a_m2_html"><div class="ttname"><a href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a></div><div class="ttdoc">This file is part of OSMAP. </div><div class="ttdef"><b>Definition:</b> Osmap.h:51</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a99801213d8fe491882fce5fd7f5d5de1"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a99801213d8fe491882fce5fd7f5d5de1">ORB_SLAM2::Osmap::currentFrame</a></div><div class="ttdeci">Frame &amp; currentFrame</div><div class="ttdoc">Any frame, to copy configuration values from. </div><div class="ttdef"><b>Definition:</b> Osmap.h:230</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_map_point_html_a470c4591b260ceb4969f62b7fb06e047"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html#a470c4591b260ceb4969f62b7fb06e047">ORB_SLAM2::OsmapMapPoint::Osmap</a></div><div class="ttdeci">friend class Osmap</div><div class="ttdef"><b>Definition:</b> Osmap.h:60</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a63f25a3baf53d9a37db367363f0781f5"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a63f25a3baf53d9a37db367363f0781f5">ORB_SLAM2::Osmap::vectorKeyFrames</a></div><div class="ttdeci">vector&lt; OsmapKeyFrame * &gt; vectorKeyFrames</div><div class="ttdoc">Buffer where map&amp;#39;s keyframes are stored in ascending id order, to save them to file in this order...</div><div class="ttdef"><b>Definition:</b> Osmap.h:269</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a435cddba27465be7ce27a63bba406418"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a435cddba27465be7ce27a63bba406418">ORB_SLAM2::Osmap::NO_LOOPS</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:204</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a71f88906a07e590c7afff343772d5216"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a71f88906a07e590c7afff343772d5216">ORB_SLAM2::Osmap::ONLY_MAPPOINTS_FEATURES</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:201</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14aa12ececbcc11af24abb2ce64eb1b9e11"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14aa12ececbcc11af24abb2ce64eb1b9e11">ORB_SLAM2::Osmap::NO_FEATURES_FILE</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:197</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a63f91ef2f48c989bbf17dc1c77b6f4cb"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a63f91ef2f48c989bbf17dc1c77b6f4cb">ORB_SLAM2::Osmap::NO_MAPPOINTS_FILE</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:195</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_a0a1657f9a2da3a76f6fc1a3d08f6c8e8"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#a0a1657f9a2da3a76f6fc1a3d08f6c8e8">ORB_SLAM2::Osmap::log</a></div><div class="ttdeci">void log()</div><div class="ttdef"><b>Definition:</b> Osmap.h:739</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a1f9502ef0ac4f2a262736f6ee5ce61db"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a1f9502ef0ac4f2a262736f6ee5ce61db">ORB_SLAM2::Osmap::NO_APPEND_FOUND_MAPPOINTS</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:210</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_map_point_html_a025ba6183bae4f36ba3592889d5e7455"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap_map_point.html#a025ba6183bae4f36ba3592889d5e7455">ORB_SLAM2::OsmapMapPoint::OsmapMapPoint</a></div><div class="ttdeci">OsmapMapPoint(Osmap *)</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14">ORB_SLAM2::Osmap::Options</a></div><div class="ttdeci">Options</div><div class="ttdoc">All the options available. </div><div class="ttdef"><b>Definition:</b> Osmap.h:189</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ade81b1dd7b95ce892811cd6e51d0a4ca"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ade81b1dd7b95ce892811cd6e51d0a4ca">ORB_SLAM2::Osmap::system</a></div><div class="ttdeci">System &amp; system</div><div class="ttdoc">System, needed to populate new keyframes after construction on deserialization, with some configurati...</div><div class="ttdef"><b>Definition:</b> Osmap.h:227</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_osmap_html_ad0c3627b8ca7468eb50dc38eb6ed2b14a22c87295de75c5b37640e448d49cd310"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_osmap.html#ad0c3627b8ca7468eb50dc38eb6ed2b14a22c87295de75c5b37640e448d49cd310">ORB_SLAM2::Osmap::NO_FEATURES_DESCRIPTORS</a></div><div class="ttdef"><b>Definition:</b> Osmap.h:200</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="_osmap_8h.html">Osmap.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
